perm filename FM[T,LCS] blob sn#010319 filedate 1972-09-22 generic text, type T, neo UTF8
VARIABLE I,T;
ARRAY F2(512),F3(512);
FOR I←0 STEP 1 UNTIL 511 DO
  BEGIN;
    F2(I)←EXP(-I/200);
    F3(I)←EXP(-I/100);
    END;

COMPILE;
INSTRUMENT TEST;

COMMENT
FM WITH AN ENVELOPE

P3=AMPLITUDE
P4=CARRIER FREQUENCY (IN HZ)
P5=MODULATION FREQUENCY (IN HZ)
P6=MODULATION INDEX
P7=CARRIER ARRAY
P8=MODULATING ARRAY
P9=ENVELOPE ARRAY
;

OSCIL(P3,MAG/P2,P9);
OSCIL((MAG*P6*P4/P3)*U1,MAG*P5,P8);
NOSCIL(U1,MAG*P4+U2,P7);
OUTA←OUTA+U3;
END;

INSTRUMENT TEST2;

COMMENT
FM WITH DIFFERENT ENVELOPES

P3=AMPLITUDE
P4=CARRIER FREQUENCY (IN HZ)
P5=MODULATION FREQUENCY (IN HZ)
P6=MODULATION INDEX
P7=CARRIER ARRAY
P8=MODULATING ARRAY
P9=ENVELOPE FOR CARRIER
P9=ENVELOPE FOR MODULATION
;

OSCIL(P3,MAG/P2,P9);
OSCIL(MAG*P6*P4,MAG/P2,P10);
OSCIL(U2,MAG*P5,P8);
NOSCIL(U1,MAG*P4+U3,P7);
OUTA←OUTA+U4;
END;

INSTRUMENT TEST3;

COMMENT
FM WITH DIFFERENT ENVELOPES

P3=AMPLITUDE
P4=CARRIER FREQUENCY (IN HZ)
P5=MODULATION FREQUENCY/CARRIER FREQUENCY
P6=MODULATION INDEX
P7=CARRIER ARRAY
P8=MODULATING ARRAY
P9=ENVELOPE FOR CARRIER
P9=ENVELOPE FOR MODULATION
;

OSCIL(P3,MAG/P2,P9);
OSCIL(MAG*P4*P6,MAG/P2,P10);
OSCIL(U2,MAG*P4*P5,P8);
NOSCIL(U1,MAG*P4+U3,P7);
OUTA←OUTA+U4;
END;
FINISH;